package com.lfm.draw;

import javax.swing.*;
import java.awt.*;

@SuppressWarnings({"all"})
public class DrawCircle extends JFrame { //JFrame对应窗口, 可以理解是一个画框
    //定义一个面板
    private MyPanel mp = null;

    //
    public static void main(String[] args) {
        new DrawCircle();
        System.out.println("退出程序");
    }
    public DrawCircle() {
        //初始化面板
        mp = new MyPanel();
        //把面板放入到窗口(画框),
        this.add(mp);
        //设置窗口的大小
        this.setSize(400, 300);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);//可以显示(可视化)
    }
}


//1. 先定义一个MyPanel, 继承JPanel类， 画图形， 就在面板上画
//2.
class MyPanel extends JPanel {

    //说明
    //1. MyPanel 对象就是一个画板
    //2. Graphics g 把g理解为一支画笔
    //3. Graphics 提供了很多方法
    @Override
    public void paint(Graphics g) {//绘图方法
        //System.out.println("paint方法被调用");
        super.paint(g);//调用父类方法完成初始化
        //画出一个圆心
        //g.drawOval(10, 10, 100, 100);


        //演示绘制不同的图形
        //画直线
        //g.drawLine(10, 10 , 100, 100);

        //画矩形边框
        //g.drawRect(10, 10, 100, 100);



        //填充矩形
        //1.设置画笔颜色
        //g.setColor(Color.PINK);
        //g.fillRect(10, 10, 100, 100);


        //填充椭圆
        //g.fillOval(10, 10, 100 ,50);

        //画图片
        //1. 获取图片资源
        //Image image = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/Englishwork.png"));
        //g.drawImage(image, 10, 10, 1030, 538, this);

        //2. 画字符串
        //给画笔设置颜色
        g.setColor(Color.PINK);
        //给字体设置格式
        g.setFont(new Font("宋体", Font.BOLD, 50));
        g.drawString("小王你好", 100, 100);

    }
}